/*!
 *	@file		app_main.h
 *	@author		T4056 Student
 *	@date		2024-07-13
 *	@version	V1.0
 *	@par		CopyRight(c)
 *				2024 T4056 Student.All rights reserved.
 */
#ifndef _app_main_h_
#define _app_main_h_

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include <stdarg.h>

#include "FreeRTOS.h"
#include "FreeRTOSConfig.h"
#include "task.h"
#include "queue.h"
#include "semphr.h"
#include "timers.h"
#include "event_groups.h"
#include "stream_buffer.h"
#include "message_buffer.h"

#include "stm32f4xx_hal.h"
#include "stm32f4xx_hal_gpio.h"
#include "stm32f4xx_hal_spi.h"

#include "w25qxx.h"

#include "SEGGER_RTT.h"
#include "elog.h"

#define         START_TASK_PRIO             (1)     /**< Start Task Priority */
#define         START_TASK_SIZE             (128)   /**< Start Task Stack Deep */

#define         LED_TASK_PRIO               (10)    /**< LED Task Priority */
#define         LED_TASK_SIZE               (128)   /**< LED Task Stack Deep */

#define			USART1_TASK_PRIO			(10)
#define			USART1_TASK_SIZE			(512)

#define			USART2_TASK_PRIO			(10)
#define			USART2_TASK_SIZE			(512)

#define			KEY_TASK_PRIO				(10)	/**< KEY Task Priority */
#define			KEY_TASK_SIZE				(128)	/**< KEY Task Priority */

/*!
 *	@brief      User Function Enter
 *	@param      None
 *	@return     None
 */
void app_main(void);

#endif
